package com.ehome.poct.core.api.dto;

import com.ehome.core.entity.DTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * @author muqiu
 * @since 2022/03/03 10:14
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("历史报告请求参数")
public class ReportListDTO extends DTO {
    @NotNull(message = "未输入诊所ID")
    @ApiModelProperty(value = "诊所Id", required = true)
    private Long clinicId;
    @ApiModelProperty(value = "查询开始时间", notes = "yyyy-mm-dd hh:MM:ss")
    private LocalDateTime startTime;
    @ApiModelProperty(value = "查询结束时间", notes = "yyyy-mm-dd hh:MM:ss")
    private LocalDateTime endTime;
    @NotNull(message = "设备类型不能为空")
    @ApiModelProperty(value = "设备类型")
    private Integer deviceType;
    @ApiModelProperty(value = "患者姓名")
    private String patientName;
    @ApiModelProperty(value = "报告及类型")
    private Integer reportType;
    @ApiModelProperty(value = "订单状态 0未支付，-1已过期，20已完成")
    private Integer payStatus;
    @NotNull
    @Min(
            value = 1L,
            message = "当前页不能小于1"
    )
    @ApiModelProperty(
            required = true
    )
    private Integer pageIndex;
    @NotNull
    @Max(
            value = 200L,
            message = "每页不能超过200"
    )
    @ApiModelProperty(
            required = true
    )
    private Integer pageSize;
}